package com.aiti.lulian.service;

import com.aiti.base.core.base.service.BaseService;
import com.aiti.base.core.utils.message.Message;
import com.aiti.lulian.dto.CardVisitorRecordDto;
import com.aiti.lulian.entity.CardVisitorRecord;
import com.aiti.lulian.vo.CardVisitorRecordVo;
import com.aiti.lulian.vo.UserIdAndUserName;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

public interface ICardVisitorRecordService extends BaseService<CardVisitorRecord> {

    int insertOrUpdateVisitorRecord(String userId, String currentUserId, String source);

    void insertOrUpdateVisitorRecordNew(String userId, String visitorId, String cardId, String visitorCardId, String source);

    List<UserIdAndUserName> getVisitorRecords(String userId);

    List<CardVisitorRecordVo> queryMyVisitorList(String cardId);

    List<CardVisitorRecordVo> queryVisitorList(String userId, String enterpriseId, String realname, String enterpriseName, String visitedRealname, String condition, Page<CardVisitorRecord> page);

    Message editVisitorRemarks(CardVisitorRecordDto dto);

    CardVisitorRecordVo queryVisitorDetail(String baseId);

    Message setContactNumber(CardVisitorRecordDto dto);

    Message updateNotLoginRecord(CardVisitorRecordDto dto);

    Object queryMyVisitedList(String cardId);

    void visitCard(CardVisitorRecordDto dto);

    List<CardVisitorRecordVo> queryVisitorListBackend(CardVisitorRecordDto dto, Page<CardVisitorRecord> page);
}